/**
 * 
 */
package co.com.ebusiness.trader.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.apache.tapestry5.beaneditor.NonVisual;
import org.apache.tapestry5.beaneditor.Validate;

import co.com.ebusiness.trader.core.model.Empresa;

/**
 * @author Luis Agudelo
 *
 */
@Entity
@Table(name = "trd_precios")
public class Precio {
	
	private int idPrec;
	private String nombre;
	private double costo;
	private double ventamenor;
	private double ventamayor;
	private Precio precioPadre;
	private Empresa empresa;
	
	
	/**
	 * @return the idPrec
	 */
	@Id
    @GeneratedValue
    @NonVisual
	public int getIdPrec() {
		return idPrec;
	}
	/**
	 * @param idPrec the idPrec to set
	 */
	public void setIdPrec(int idPrec) {
		this.idPrec = idPrec;
	}
	
	/**
	 * @return the nombre
	 */
	@Validate("required")
	public String getNombre() {
		return nombre;
	}
	/**
	 * @param nombre the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	/**
	 * @return the costo
	 */
	@Validate("required")
	public double getCosto() {
		return costo;
	}
	/**
	 * @param costo the costo to set
	 */
	public void setCosto(double costo) {
		this.costo = costo;
	}
	/**
	 * @return the ventamenor
	 */
	@Column(name = "ventame", nullable = false)
    @Validate("required")
	public double getVentamenor() {
		return ventamenor;
	}
	/**
	 * @param ventamenor the ventamenor to set
	 */
	public void setVentamenor(double ventamenor) {
		this.ventamenor = ventamenor;
	}
	/**
	 * @return the ventamayor
	 */
	@Column(name = "ventama", nullable = false)
    @Validate("required")
	public double getVentamayor() {
		return ventamayor;
	}
	/**
	 * @param ventamayor the ventamayor to set
	 */
	public void setVentamayor(double ventamayor) {
		this.ventamayor = ventamayor;
	}
	/**
	 * @return the precioPadre
	 */
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="idRel")
	@Validate("required")
	public Precio getPrecioPadre() {
		return precioPadre;
	}
	/**
	 * @param precioPadre the precioPadre to set
	 */
	public void setPrecioPadre(Precio precioPadre) {
		this.precioPadre = precioPadre;
	}
	/**
	 * @return the empresa
	 */
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="idEmp")
	@NonVisual
	public Empresa getEmpresa() {
		return empresa;
	}
	/**
	 * @param empresa the empresa to set
	 */
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}
	
	
	
}
